<html>
<head>
<title>The X Toolkit API</title>
<link href="doc.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
  google.load('visualization', '1', {packages: ['orgchart']});
</script>
<script type="text/javascript">

  // don't show internals by default
  var displayInternals = false;

  var toggleInternals = function() {
    
    // toggle the display variable
    displayInternals = !displayInternals;

    if (!document.styleSheets)
      return;
    var thecss = new Array();
    
    if (document.styleSheets[0].cssRules) thecss = document.styleSheets[0].cssRules;
    else thecss = document.styleSheets[0].rules;
    
    for (i = 0; i < thecss.length; i++) {
      
      if (thecss[i].selectorText.toLowerCase() == '.private') {
        
        if (displayInternals) {
          thecss[i].style.cssText += "display: block;";
          document.getElementById('togglBtn').innerHTML = 'Hide Internals'
        } else {
          thecss[i].style.cssText += "display: none;";
          document.getElementById('togglBtn').innerHTML = 'Show Internals'
        }
      
      } else if (thecss[i].selectorText.toLowerCase() == '.private_quicklink') {
        
        if (displayInternals) {
          thecss[i].style.cssText += "display: inline;";
        } else {
          thecss[i].style.cssText += "display: none;";
        }
        
      }
       
    }
    
  }
  
  function drawVisualization() {
    // Create and populate the data table.
    var data = google.visualization.arrayToDataTable([
      [{v:"goog.events.EventTarget",f:"<font color=green>goog.events.EventTarget</font>"},null,null],
["X.base","goog.events.EventTarget",null],
["X.interactor","X.base",null],

    ]);
  
    // Create and draw the visualization.
    new google.visualization.OrgChart(document.getElementById('diagram')).
        draw(data, {allowHtml: true, size:'small', color:'#f3f3f3'});
  }
  

  google.setOnLoadCallback(drawVisualization);  
  
</script>
</head>

<body>
	<h1>The X Toolkit API</h1>
	<div class="menu"><b>X</b><br><span class="menuitem"><a href="counter.html">X.counter</a></span><br><br><b>CORE</b><br><span class="menuitem"><a href="base.html">X.base</a></span><br><span class="menuitem"><a href="colortable.html">X.colortable</a></span><br><span class="menuitem"><a href="event.html">X.event</a></span><br><span class="menuitem"><a href="file.html">X.file</a></span><br><span class="menuitem"><a href="HoverEndEvent.html">X.HoverEndEvent</a></span><br><span class="menuitem"><a href="HoverEvent.html">X.HoverEvent</a></span><br><span class="menuitem"><a href="ModifiedEvent.html">X.ModifiedEvent</a></span><br><span class="menuitem"><a href="PanEvent.html">X.PanEvent</a></span><br><span class="menuitem"><a href="ProgressEvent.html">X.ProgressEvent</a></span><br><span class="menuitem"><a href="RenderEvent.html">X.RenderEvent</a></span><br><span class="menuitem"><a href="ResetViewEvent.html">X.ResetViewEvent</a></span><br><span class="menuitem"><a href="RotateEvent.html">X.RotateEvent</a></span><br><span class="menuitem"><a href="scalars.html">X.scalars</a></span><br><span class="menuitem"><a href="ScrollEvent.html">X.ScrollEvent</a></span><br><span class="menuitem"><a href="texture.html">X.texture</a></span><br><span class="menuitem"><a href="transform.html">X.transform</a></span><br><span class="menuitem"><a href="triplets.html">X.triplets</a></span><br><span class="menuitem"><a href="WindowLevelEvent.html">X.WindowLevelEvent</a></span><br><span class="menuitem"><a href="ZoomEvent.html">X.ZoomEvent</a></span><br><br><b>INJECTS</b><br><span class="menuitem"><a href="constructable.html">X.constructable</a></span><br><span class="menuitem"><a href="displayable.html">X.displayable</a></span><br><span class="menuitem"><a href="loadable.html">X.loadable</a></span><br><span class="menuitem"><a href="thresholdable.html">X.thresholdable</a></span><br><br><b>IO</b><br><span class="menuitem"><a href="interactor.html">X.interactor</a></span><br><span class="menuitem"><a href="interactor2D.html">X.interactor2D</a></span><br><span class="menuitem"><a href="interactor3D.html">X.interactor3D</a></span><br><span class="menuitem"><a href="loader.html">X.loader</a></span><br><span class="menuitem"><a href="parser.html">X.parser</a></span><br><span class="menuitem"><a href="parserCRV.html">X.parserCRV</a></span><br><span class="menuitem"><a href="parserDCM.html">X.parserDCM</a></span><br><span class="menuitem"><a href="parserFSM.html">X.parserFSM</a></span><br><span class="menuitem"><a href="parserIMAGE.html">X.parserIMAGE</a></span><br><span class="menuitem"><a href="parserLBL.html">X.parserLBL</a></span><br><span class="menuitem"><a href="parserLUT.html">X.parserLUT</a></span><br><span class="menuitem"><a href="parserMGZ.html">X.parserMGZ</a></span><br><span class="menuitem"><a href="parserNII.html">X.parserNII</a></span><br><span class="menuitem"><a href="parserNRRD.html">X.parserNRRD</a></span><br><span class="menuitem"><a href="parserOBJ.html">X.parserOBJ</a></span><br><span class="menuitem"><a href="parserSTL.html">X.parserSTL</a></span><br><span class="menuitem"><a href="parserTRK.html">X.parserTRK</a></span><br><span class="menuitem"><a href="parserVTK.html">X.parserVTK</a></span><br><br><b>MATH</b><br><span class="menuitem"><a href="array.html">X.array</a></span><br><span class="menuitem"><a href="matrix.html">X.matrix</a></span><br><span class="menuitem"><a href="vector.html">X.vector</a></span><br><br><b>OBJECTS</b><br><span class="menuitem"><a href="cube.html">X.cube</a></span><br><span class="menuitem"><a href="cylinder.html">X.cylinder</a></span><br><span class="menuitem"><a href="fibers.html">X.fibers</a></span><br><span class="menuitem"><a href="labelmap.html">X.labelmap</a></span><br><span class="menuitem"><a href="mesh.html">X.mesh</a></span><br><span class="menuitem"><a href="object.html">X.object</a></span><br><span class="menuitem"><a href="slice.html">X.slice</a></span><br><span class="menuitem"><a href="sphere.html">X.sphere</a></span><br><span class="menuitem"><a href="volume.html">X.volume</a></span><br><br><b>UI</b><br><span class="menuitem"><a href="caption.html">X.caption</a></span><br><span class="menuitem"><a href="progressbar.html">X.progressbar</a></span><br><br><b>VISUALIZATION</b><br><span class="menuitem"><a href="buffer.html">X.buffer</a></span><br><span class="menuitem"><a href="camera.html">X.camera</a></span><br><span class="menuitem"><a href="camera2D.html">X.camera2D</a></span><br><span class="menuitem"><a href="camera3D.html">X.camera3D</a></span><br><span class="menuitem"><a href="indexer.html">X.indexer</a></span><br><span class="menuitem"><a href="renderer.html">X.renderer</a></span><br><span class="menuitem"><a href="renderer2D.html">X.renderer2D</a></span><br><span class="menuitem"><a href="renderer3D.html">X.renderer3D</a></span><br><span class="menuitem"><a href="shaders.html">X.shaders</a></span><br><br></div>
	<div id="diagram"></div>
	<div class="content">
		<h2>X.interactor</h2>
		<div class="public" id="interactor">
<pre>/**
* Create an interactor for a given element in the DOM tree.
*
* @constructor
* @param {Element} element The DOM element to be observed.
* @extends <a href="base.html">X.base</a>
*/</pre>
<span class="code">var i = new <span class="identifier">X.interactor()</span>;</span><br></div><div class="private" id="_classname">
<pre>/**
* The className of this class.
*
* @type {string}
* @protected
*/</pre>
<span class="code">i.<span class="identifier">_classname</span> = $_CLASSNAME;</span><br></div><div class="private" id="_config">
<pre>/**
* The configuration of this interactor.
*
* @enum {boolean}
*/</pre>
<span class="code">i.<span class="identifier">_config</span> = $_CONFIG;</span><br></div><div class="private" id="_dirty">
<pre>/**
* The 'dirty' flag of this object.
*
* @type {boolean}
* @protected
*/</pre>
<span class="code">i.<span class="identifier">_dirty</span> = $_DIRTY;</span><br></div><div class="private" id="_element">
<pre>/**
* The observed DOM element of this interactor.
*
* @type {!Element}
* @protected
*/</pre>
<span class="code">i.<span class="identifier">_element</span> = $_ELEMENT;</span><br></div><div class="private" id="_hoverTrigger">
<pre>/**
* The hover timeout index.
*
* @type {?number}
* @protected
*/</pre>
<span class="code">i.<span class="identifier">_hoverTrigger</span> = $_HOVERTRIGGER;</span><br></div><div class="private" id="_id">
<pre>/**
* The uniqueId of this instance. Each class instance in XTK has a uniqueId.
*
* @type {number}
* @protected
*/</pre>
<span class="code">i.<span class="identifier">_id</span> = $_ID;</span><br></div><div class="private" id="_lastMousePosition">
<pre>/**
* The previous mouse position.
*
* @type {!<a href="vector.html">X.vector</a>}
* @protected
*/</pre>
<span class="code">i.<span class="identifier">_lastMousePosition</span> = $_LASTMOUSEPOSITION;</span><br></div><div class="private" id="_lastTouchPosition">
<pre>/**
* The previous touch position of the first finger.
*
* @type {!<a href="vector.html">X.vector</a>}
* @protected
*/</pre>
<span class="code">i.<span class="identifier">_lastTouchPosition</span> = $_LASTTOUCHPOSITION;</span><br></div><div class="private" id="_leftButtonDown">
<pre>/**
* Indicates if the left mouse button is pressed.
*
* @type {boolean}
* @protected
*/</pre>
<span class="code">i.<span class="identifier">_leftButtonDown</span> = $_LEFTBUTTONDOWN;</span><br></div><div class="private" id="_middleButtonDown">
<pre>/**
* Indicates if the middle mouse button is pressed.
*
* @type {boolean}
* @protected
*/</pre>
<span class="code">i.<span class="identifier">_middleButtonDown</span> = $_MIDDLEBUTTONDOWN;</span><br></div><div class="private" id="_mouseDownListener">
<pre>/**
* The listener id for mouse down observation.
*
* @type {?number|goog.events.ListenableKey}
* @protected
*/</pre>
<span class="code">i.<span class="identifier">_mouseDownListener</span> = $_MOUSEDOWNLISTENER;</span><br></div><div class="private" id="_mouseInside">
<pre>/**
* Indicates if the mouse is inside the element.
*
* @type {boolean}
* @protected
*/</pre>
<span class="code">i.<span class="identifier">_mouseInside</span> = $_MOUSEINSIDE;</span><br></div><div class="private" id="_mouseMoveListener">
<pre>/**
* The listener id for mouse move observation.
*
* @type {?number|goog.events.ListenableKey}
* @protected
*/</pre>
<span class="code">i.<span class="identifier">_mouseMoveListener</span> = $_MOUSEMOVELISTENER;</span><br></div><div class="private" id="_mouseOutListener">
<pre>/**
* The listener id for mouse out observation.
*
* @type {?number|goog.events.ListenableKey}
* @protected
*/</pre>
<span class="code">i.<span class="identifier">_mouseOutListener</span> = $_MOUSEOUTLISTENER;</span><br></div><div class="private" id="_mousePosition">
<pre>/**
* The current mouse position.
*
* @type {!Array}
* @protected
*/</pre>
<span class="code">i.<span class="identifier">_mousePosition</span> = $_MOUSEPOSITION;</span><br></div><div class="private" id="_mouseUpListener">
<pre>/**
* The listener id for mouse up observation.
*
* @type {?number|goog.events.ListenableKey}
* @protected
*/</pre>
<span class="code">i.<span class="identifier">_mouseUpListener</span> = $_MOUSEUPLISTENER;</span><br></div><div class="private" id="_mouseWheelHandler">
<pre>/**
* The browser independent mouse wheel handler.
*
* @type {?goog.events.MouseWheelHandler}
* @protected
*/</pre>
<span class="code">i.<span class="identifier">_mouseWheelHandler</span> = $_MOUSEWHEELHANDLER;</span><br></div><div class="private" id="_mouseWheelListener">
<pre>/**
* The listener id for mouse wheel observation.
*
* @type {?number|goog.events.ListenableKey}
* @protected
*/</pre>
<span class="code">i.<span class="identifier">_mouseWheelListener</span> = $_MOUSEWHEELLISTENER;</span><br></div><div class="private" id="_rightButtonDown">
<pre>/**
* Indicates if the right mouse button is pressed.
*
* @type {boolean}
* @protected
*/</pre>
<span class="code">i.<span class="identifier">_rightButtonDown</span> = $_RIGHTBUTTONDOWN;</span><br></div><div class="private" id="_touchHoverTrigger">
<pre>/**
* The touch hover timeout index.
*
* @type {?number}
* @protected
*/</pre>
<span class="code">i.<span class="identifier">_touchHoverTrigger</span> = $_TOUCHHOVERTRIGGER;</span><br></div><div class="private" id="lastFingerDistance">
<pre>/**
* The last distance between the first and second finger.
*
* @type {!number}
* @protected
*/</pre>
<span class="code">i.<span class="identifier">lastFingerDistance</span> = $LASTFINGERDISTANCE;</span><br></div><div class="public" id="classname_get">
<pre>/**
* Get the className of this object.
*
* @return {string} The className of this object.
* @public
*/</pre>
<span class="code">var _classname = i.<span class="identifier">classname</span>;</span><br></div><div class="public" id="config_get">
<pre>/**
* Access the configuration of this interactor. Possible settings and there
* default values are:
*
* 
*  config.MOUSEWHEEL_ENABLED: true
*  config.MOUSECLICKS_ENABLED: true
*  config.KEYBOARD_ENABLED: true
*  config.HOVERING_ENABLED: true
*  config.CONTEXTMENU_ENABLED: false
*  config.TOUCH_ENABLED: true
*  config.TOUCH_BOUNCING_ENABLED: false
* 
*
* @return {Object} The configuration.
*/</pre>
<span class="code">var _config = i.<span class="identifier">config</span>;</span><br></div><div class="public" id="id_get">
<pre>/**
* Get the id of this instance.
*
* @return {string} The className of this object.
* @public
*/</pre>
<span class="code">var _id = i.<span class="identifier">id</span>;</span><br></div><div class="public" id="leftButtonDown_get">
<pre>/**
* Get the state of the left mouse button.
*
* @return {boolean} TRUE if the button is pressed, FALSE otherwise.
*/</pre>
<span class="code">var _leftButtonDown = i.<span class="identifier">leftButtonDown</span>;</span><br></div><div class="public" id="middleButtonDown_get">
<pre>/**
* Get the state of the middle mouse button.
*
* @return {boolean} TRUE if the button is pressed, FALSE otherwise.
*/</pre>
<span class="code">var _middleButtonDown = i.<span class="identifier">middleButtonDown</span>;</span><br></div><div class="public" id="mousePosition_get">
<pre>/**
* Get the current mouse position (offsetX, offsetY) relative to the viewport.
*
* @return {!Array} The mouse position as an array [x,y].
*/</pre>
<span class="code">var _mousePosition = i.<span class="identifier">mousePosition</span>;</span><br></div><div class="public" id="rightButtonDown_get">
<pre>/**
* Get the state of the right mouse button.
*
* @return {boolean} TRUE if the button is pressed, FALSE otherwise.
*/</pre>
<span class="code">var _rightButtonDown = i.<span class="identifier">rightButtonDown</span>;</span><br></div><div class="private" id="hoverEnd_">
<pre>/**
* Stop the hover countdown and fire a <a href="event.html">X.event</a>.HoverEndEvent.
*
* @protected
*/</pre>
<span class="code">i.<span class="identifier">hoverEnd_</span>();</span><br></div><div class="public" id="init">
<pre>/**
* Observe mouse wheel interaction on the associated DOM element.
*/</pre>
<span class="code">i.<span class="identifier">init</span>();</span><br></div><div class="public" id="onKey">
<pre>/**
* Overload this function to execute code on keyboard events.
*
* @param {Event} event The browser fired keyboard event.
*/</pre>
<span class="code">i.<span class="identifier">onKey</span>($EVENT);</span><br></div><div class="private" id="onKey_">
<pre>/**
* Callback for keyboard events on the associated DOM element. This fires proper
* <a href="event.html">X.event</a> events.
*
* @param {Event} event The browser fired event.
* @protected
*/</pre>
<span class="code">i.<span class="identifier">onKey_</span>($EVENT);</span><br></div><div class="public" id="onMouseDown">
<pre>/**
* Overload this function to execute code on mouse down (button press).
*
* @param {boolean} left TRUE if the left button triggered this event.
* @param {boolean} middle TRUE if the middle button triggered this event.
* @param {boolean} right TRUE if the right button triggered this event.
*/</pre>
<span class="code">i.<span class="identifier">onMouseDown</span>($LEFT, $MIDDLE, $RIGHT);</span><br></div><div class="private" id="onMouseDown_">
<pre>/**
* Callback for mouse down events on the associated DOM element.
*
* @param {Event} event The browser fired event.
* @protected
*/</pre>
<span class="code">i.<span class="identifier">onMouseDown_</span>($EVENT);</span><br></div><div class="public" id="onMouseMove">
<pre>/**
* Overload this function to execute code on mouse movement.
*
* @param {Event} event The browser fired mousemove event.
*/</pre>
<span class="code">i.<span class="identifier">onMouseMove</span>($EVENT);</span><br></div><div class="private" id="onMouseMovementInside_">
<pre>/**
* Callback for mouse movement events inside the associated DOM element. This
* distinguishes by pressed mouse buttons, key accelerators etc. and fires
* proper <a href="event.html">X.event</a> events.
*
* @param {Event} event The browser fired event.
* @protected
*/</pre>
<span class="code">i.<span class="identifier">onMouseMovementInside_</span>($EVENT);</span><br></div><div class="private" id="onMouseMovementOutside_">
<pre>/**
* Callback for mouse movement events outside the associated DOM element. This
* resets all internal interactor flags.
*
* @param {Event} event The browser fired event.
* @protected
*/</pre>
<span class="code">i.<span class="identifier">onMouseMovementOutside_</span>($EVENT);</span><br></div><div class="public" id="onMouseUp">
<pre>/**
* Overload this function to execute code on mouse up (button release).
*
* @param {boolean} left TRUE if the left button triggered this event.
* @param {boolean} middle TRUE if the middle button triggered this event.
* @param {boolean} right TRUE if the right button triggered this event.
*/</pre>
<span class="code">i.<span class="identifier">onMouseUp</span>($LEFT, $MIDDLE, $RIGHT);</span><br></div><div class="private" id="onMouseUp_">
<pre>/**
* Callback for mouse up events on the associated DOM element.
*
* @param {Event} event The browser fired event.
* @protected
*/</pre>
<span class="code">i.<span class="identifier">onMouseUp_</span>($EVENT);</span><br></div><div class="public" id="onMouseWheel">
<pre>/**
* Overload this function to execute code on mouse wheel events.
*
* @param {Event} event The browser fired mousewheel event.
*/</pre>
<span class="code">i.<span class="identifier">onMouseWheel</span>($EVENT);</span><br></div><div class="private" id="onMouseWheel_">
<pre>/**
* Internal callback for mouse wheel events on the associated DOM element.
*
* @param {Event} event The browser fired event.
* @protected
*/</pre>
<span class="code">i.<span class="identifier">onMouseWheel_</span>($EVENT);</span><br></div><div class="public" id="onTouchEnd">
<pre>/**
* Overload this function to execute code on touch end.
*/</pre>
<span class="code">i.<span class="identifier">onTouchEnd</span>();</span><br></div><div class="private" id="onTouchEnd_">
<pre>/**
* The callback for the touch end event.
*
* @param {Event} event The browser fired event.
*/</pre>
<span class="code">i.<span class="identifier">onTouchEnd_</span>($EVENT);</span><br></div><div class="public" id="onTouchHover">
<pre>/**
* Overload this function to execute code on touch hover. This gets called if a
* finger touches the screen for 500ms at the same position.
*
* @param {!number} x The x coordinate of the touch hover event.
* @param {!number} y The y coordinate of the touch hover event.
*/</pre>
<span class="code">i.<span class="identifier">onTouchHover</span>($X, $Y);</span><br></div><div class="private" id="onTouchHover_">
<pre>/**
* The callback for the touch hover event which gets triggered when a finger
* sits at the same position for 500 ms.
*
* @param {!goog.events.Event} event The browser fired event.
*/</pre>
<span class="code">i.<span class="identifier">onTouchHover_</span>($EVENT);</span><br></div><div class="public" id="onTouchMove">
<pre>/**
* Overload this function to execute code on touch move.
*
* @param {Event} event The browser fired event.
*/</pre>
<span class="code">i.<span class="identifier">onTouchMove</span>($EVENT);</span><br></div><div class="private" id="onTouchMove_">
<pre>/**
* The callback for the touch move event. This performs several actions like
* rotating, zooming, panning etc.
*
* @param {goog.events.Event} event The browser fired event.
*/</pre>
<span class="code">i.<span class="identifier">onTouchMove_</span>($EVENT);</span><br></div><div class="public" id="onTouchStart">
<pre>/**
* Overload this function to execute code on touch start of the first finger.
*
* @param {!number} x The x coordinate of the touch start event.
* @param {!number} y The y coordinate of the touch start event.
*/</pre>
<span class="code">i.<span class="identifier">onTouchStart</span>($X, $Y);</span><br></div><div class="private" id="onTouchStart_">
<pre>/**
* Callback for the touch start event.
*
* @param {goog.events.Event} event The browser fired event.
* @protected
*/</pre>
<span class="code">i.<span class="identifier">onTouchStart_</span>($EVENT);</span><br></div><div class="private" id="resetTouchHover_">
<pre>/**
* Reset the current touch hover callback, f.e. if the finger moves or gets
* released.
*/</pre>
<span class="code">i.<span class="identifier">resetTouchHover_</span>();</span><br></div>
	</div>

  <div id="toolbox">
  <center><button id="togglBtn" type="button" onclick="javascript:toggleInternals();">Show Internals</button></center><br><br>
  <b>CONSTRUCTORS</b><br>
  <span class="public_quicklink"><a href="#interactor">X.interactor</a><br></span><br>
  <b>PROPERTIES</b><br>
  <span class="private_quicklink"><a href="#_classname">_classname</a><br></span><span class="private_quicklink"><a href="#_config">_config</a><br></span><span class="private_quicklink"><a href="#_dirty">_dirty</a><br></span><span class="private_quicklink"><a href="#_element">_element</a><br></span><span class="private_quicklink"><a href="#_hoverTrigger">_hoverTrigger</a><br></span><span class="private_quicklink"><a href="#_id">_id</a><br></span><span class="private_quicklink"><a href="#_lastMousePosition">_lastMousePosition</a><br></span><span class="private_quicklink"><a href="#_lastTouchPosition">_lastTouchPosition</a><br></span><span class="private_quicklink"><a href="#_leftButtonDown">_leftButtonDown</a><br></span><span class="private_quicklink"><a href="#_middleButtonDown">_middleButtonDown</a><br></span><span class="private_quicklink"><a href="#_mouseDownListener">_mouseDownListener</a><br></span><span class="private_quicklink"><a href="#_mouseInside">_mouseInside</a><br></span><span class="private_quicklink"><a href="#_mouseMoveListener">_mouseMoveListener</a><br></span><span class="private_quicklink"><a href="#_mouseOutListener">_mouseOutListener</a><br></span><span class="private_quicklink"><a href="#_mousePosition">_mousePosition</a><br></span><span class="private_quicklink"><a href="#_mouseUpListener">_mouseUpListener</a><br></span><span class="private_quicklink"><a href="#_mouseWheelHandler">_mouseWheelHandler</a><br></span><span class="private_quicklink"><a href="#_mouseWheelListener">_mouseWheelListener</a><br></span><span class="private_quicklink"><a href="#_rightButtonDown">_rightButtonDown</a><br></span><span class="private_quicklink"><a href="#_touchHoverTrigger">_touchHoverTrigger</a><br></span><span class="private_quicklink"><a href="#lastFingerDistance">lastFingerDistance</a><br></span><br>
  <b>GETTERS/SETTERS</b><br>
  <span class="public_quicklink"><a href="#classname_get">classname</a><br></span><span class="public_quicklink"><a href="#config_get">config</a><br></span><span class="public_quicklink"><a href="#id_get">id</a><br></span><span class="public_quicklink"><a href="#leftButtonDown_get">leftButtonDown</a><br></span><span class="public_quicklink"><a href="#middleButtonDown_get">middleButtonDown</a><br></span><span class="public_quicklink"><a href="#mousePosition_get">mousePosition</a><br></span><span class="public_quicklink"><a href="#rightButtonDown_get">rightButtonDown</a><br></span><br>
  <b>FUNCTIONS</b><br>
  <span class="private_quicklink"><a href="#hoverEnd_">hoverEnd_</a><br></span><span class="public_quicklink"><a href="#init">init</a><br></span><span class="public_quicklink"><a href="#onKey">onKey</a><br></span><span class="private_quicklink"><a href="#onKey_">onKey_</a><br></span><span class="public_quicklink"><a href="#onMouseDown">onMouseDown</a><br></span><span class="private_quicklink"><a href="#onMouseDown_">onMouseDown_</a><br></span><span class="public_quicklink"><a href="#onMouseMove">onMouseMove</a><br></span><span class="private_quicklink"><a href="#onMouseMovementInside_">onMouseMovementInside_</a><br></span><span class="private_quicklink"><a href="#onMouseMovementOutside_">onMouseMovementOutside_</a><br></span><span class="public_quicklink"><a href="#onMouseUp">onMouseUp</a><br></span><span class="private_quicklink"><a href="#onMouseUp_">onMouseUp_</a><br></span><span class="public_quicklink"><a href="#onMouseWheel">onMouseWheel</a><br></span><span class="private_quicklink"><a href="#onMouseWheel_">onMouseWheel_</a><br></span><span class="public_quicklink"><a href="#onTouchEnd">onTouchEnd</a><br></span><span class="private_quicklink"><a href="#onTouchEnd_">onTouchEnd_</a><br></span><span class="public_quicklink"><a href="#onTouchHover">onTouchHover</a><br></span><span class="private_quicklink"><a href="#onTouchHover_">onTouchHover_</a><br></span><span class="public_quicklink"><a href="#onTouchMove">onTouchMove</a><br></span><span class="private_quicklink"><a href="#onTouchMove_">onTouchMove_</a><br></span><span class="public_quicklink"><a href="#onTouchStart">onTouchStart</a><br></span><span class="private_quicklink"><a href="#onTouchStart_">onTouchStart_</a><br></span><span class="private_quicklink"><a href="#resetTouchHover_">resetTouchHover_</a><br></span><br>
  <b>STATIC</b><br>
  <br><br><br>
  <center><small><a href="https://github.com/xtk/X/blob/master/io/interactor.js" target="_blank">SOURCECODE</a><br></small></center>
  </div>	
	
	<br><br><br>
</body>

</html>